调光LED RGB色准校准方案 |
您所在的位置:网站首页 › rgb调节 xposed › 调光LED RGB色准校准方案 |
目前市面上普遍使用的是RGB调色方案是,云端或APP端直接下发sRGB(如255,255,255),然后简单粗暴的换算为pwm占空比,或者灰度值。这导致部分混色不准确,肉眼可见的颜色差别明显。 本文提供了一套新的方案。 先通过R、G、B灯珠规格书,得到灯珠的色坐标,以及最大流明值。 色坐标 x y Y R 0.6900 0.3100 50 G 0.1900 0.6100 150 B 0.1530 0.0278 30 通过混色定理,黑色三角形内部的颜色,都可以通过这三颗灯珠混出来,色坐标与流明无关。 云端或APP端还是下发sRGB值+亮度值,然后在设备端换算为期望的xm,ym色坐值,然后通过算法计算出对应的占空比或灰度值。 占空比计 xr = 0.6900 //R灯珠参数 yr = 0.3100 Yr = 50 xg = 0.1900 //G灯珠参数 yg = 0.6100 Yg = 150 xb = 0.1530 //B灯珠参数 yb = 0.0278 Yb = 40 Ym = 30 //给定一个固定值 //x,y为期望的色坐标 Dr = ((yg-yb)*(xb-x)+(y-yb)*(xg-xb)) / ((yg-yb)*(xb-xr)+(yr-yb)*(xg-xb)) * (yr * Ym) / (y * Yr) Dg = ((yb-yr)*(xr-x)+(y-yr)*(xb-xr)) / ((yb-yr)*(xr-xg)+(yg-yr)*(xb-xr)) * (yg * Ym) / (y * Yg) Db = ((yg-yr)*(xr-x)+(y-yr)*(xg-xr)) / ((yg-yr)*(xr-xb)+(yb-yr)*(xg-xr)) * (yb * Ym) / (y * Yb)下发亮度加入gamma校准,此处gamma值设置为2.6,亮度范围为0~100。 Y = ((Y/100)^2.6)*100 //亮度调节校准灰度值计算,如果灰度为8位,最大就为255。 N = MAX(Dr,Dg,Db) N = 1/N Dr = 255 * Dr * N * Y Dg = 255 * Dg * N * Y Db = 255 * Db * N * Y把最后得到的值给驱动,就完成了。 本文只是从色坐标换算到占空比。前面还需要sRGB换算为色坐标,公式参考http://www.easyrgb.com/en/math.php 另外中间涉及到超色域转换,请看我另外一篇文章 不同色域转换_xiaoredred的博客-CSDN博客_色域转换 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |